Skip to content

Initial proposal to update to otp-29/Elixir 1.20#218

Open
thiagoesteves wants to merge 1 commit into
mainfrom
thiagoesteves/update-to-otp-29
Open

Initial proposal to update to otp-29/Elixir 1.20#218
thiagoesteves wants to merge 1 commit into
mainfrom
thiagoesteves/update-to-otp-29

Conversation

@thiagoesteves

Copy link
Copy Markdown
Owner

No description provided.

@thiagoesteves thiagoesteves self-assigned this May 18, 2026
@thiagoesteves thiagoesteves moved this to In Progress in DeployEx Project May 18, 2026
@thiagoesteves thiagoesteves force-pushed the thiagoesteves/update-to-otp-29 branch 2 times, most recently from c1e7047 to ad4c48c Compare June 17, 2026 17:33
@thiagoesteves thiagoesteves changed the title Initial proposal to update to otp-29 Initial proposal to update to otp-29/Elixir 1.20 Jun 17, 2026
@thiagoesteves thiagoesteves force-pushed the thiagoesteves/update-to-otp-29 branch 6 times, most recently from e3a062d to 41b92e0 Compare June 17, 2026 17:54
@thiagoesteves thiagoesteves marked this pull request as ready for review June 17, 2026 18:58
@thiagoesteves thiagoesteves added the enhancement New feature or request label Jul 7, 2026
Workflow fixes:
- The rebase onto the matrix-based release workflows (#246) left them
  in a hybrid state: matrix still [27, 28] plus an appended old-style
  buildUbuntu2404Otp29 job referencing env vars that no longer exist.
  The matrix is now [28, 29] and the orphaned jobs are removed.

Library updates (no vulnerabilities reported by mix deps.audit):
- phoenix_live_view 1.0.18 -> 1.2.6 (requirement relaxed to ~> 1.2)
- gettext 0.26.2 -> 1.0.2 (already using the Gettext.Backend pattern)
- briefly 0.4.1 -> 0.5.1, swoosh 1.26.3, mint 1.9.1
- lazy_html added as a test dependency (required by LiveView 1.2 test
  helpers), which needed elixir_make 0.10.0 -> 0.9.0
- HEEx templates reformatted by the LiveView 1.2 formatter

Test updates:
- mode_test option assertions made tolerant to attribute order and
  boolean attribute serialization (lazy_html renders differently)
- Foundation catalog test modules are no longer async: they share the
  /tmp/var/lib/deployex tree and raced with each other's rm_rf cleanup

Docs consistency:
- Changelog 0.10.0 section: baseline corrected to 0.9.5, the OTP-27
  drop moved under backwards incompatible changes, host binary labels
  fixed (OTP 28/29)
- README version table: OTP-29 column added, 0.10.0 🔜 row with
  28.5.0.3 / 29.0.3

Validated under OTP 29 (Erlang 29.0.1, Elixir 1.20.1-otp-29): full test
suite with coverage above threshold in all apps, credo --strict, format
check, unused deps check, sobelow and dialyzer all pass. CI pins
erlang 29.0.3 / elixir 1.20.2-otp-29, both verified to exist upstream.

Risk assessment:
- Impact: completes the OTP-29 rollover so PR CI runs on OTP 29 and
  releases build for OTP 28/29.
- Blast radius: release workflows, dependency versions (LiveView minor
  jump 1.0 -> 1.2 is the largest), HEEx formatting, test suite, docs.
- Regression risk: medium. LiveView 1.2 changes DOM test serialization
  and formatting; the full suite plus static checks pass, but the
  tag-triggered release workflows still need a real run, recommend a
  non-main rc tag before the 0.10.0 release.
- Rollback: revert this commit (the branch remains on the previous
  library set via mix.lock history).
@thiagoesteves thiagoesteves force-pushed the thiagoesteves/update-to-otp-29 branch from 41b92e0 to c58cab6 Compare July 8, 2026 13:36
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

enhancement New feature or request

Projects

Status: In Progress

Development

Successfully merging this pull request may close these issues.

1 participant